package com.pn.mapper;

import com.pn.entity.Store;
import com.pn.entity.vo.StoreCountVo;
import com.pn.page.Page;

import java.util.List;

import org.apache.ibatis.annotations.Param;

public interface StoreMapper {

	/**
	 * 查询所有仓库
	 *
	 * @return 所有仓库集合
	 */
	List<Store> findAllStore();

	/**
	 * 查询每个仓库库存
	 *
	 * @return 各个仓库库存
	 */
	List<StoreCountVo> findStoreCount();

	/**
	 * 查询仓库总行数
	 * 
	 * @param store 查询仓库条件参数类
	 * @return 仓库总行数
	 */
	int selectStoreCount(Store store);

	/**
	 * 分页条件查询仓库
	 * 
	 * @param page  分页对象
	 * @param store 查询条件
	 * @return 分页对象
	 */
	List<Store> selectStorePage(@Param("page") Page page, @Param("store") Store store);

	/**
	 * 添加仓库
	 * 
	 * @param store 仓库实体类
	 * @return 影响行数
	 */
	int insertStore(Store store);

	/**
	 * 查询仓库
	 * 
	 * @param storeNum 仓库编号
	 * @return 仓库
	 */
	Store selectStoreByNum(String storeNum);

	/**
	 * 修改仓库信息
	 * 
	 * @param store 仓库实体类
	 * @return 影响行数
	 */
	int updateStoreById(Store store);

	/**
	 * 删除仓库
	 * 
	 * @param storeId 仓库id
	 * @return 影响行数
	 */
	int deleteStoreById(Integer storeId);
}